1. Field of the Invention
The present invention relates to an image forming apparatus that forms an image by not only generating intermediate codes per predetermined virtual band size but also converting the generated intermediate codes into actual image data. More particularly, the present invention is directed to a method of handling intermediate codes.
2. Description of the Prior Art
A page printer is known as an image forming apparatus that forms an image based on print data in a print job. The page printer not only stores print data by once compressing the print data into intermediate codes but also develops the stored intermediate codes into a bit image (hereinafter referred to as the "actual image data"), so that an image is formed in a page unit based on such actual image data.
In a page printer of this type, a memory such as a RAM has at least a first memory area and a second memory area. The first memory area serves to store intermediate codes, and the second memory area serves to store actual image data obtained by developing the intermediate codes within the first memory area. An image is formed by reading the actual image data within the second memory whenever appropriate.
The intermediate code includes, e.g., position information for page-unit print data and image information (expressed in the form of bit map data or functional data) at such position. The reasons why the print data is converted into intermediate codes once are because the image forming operation becomes complicated and time-consuming when actual image data is generated directly from the print data and because the intermediate codes are smaller in size than the actual image data when stored. However, some print data has voluminous position information and image information of characters and graphics, and there is a case where the size of intermediate codes is larger than the size of actual image data. In this case, sometimes performed within the printer apparatus is the operation of developing intermediate codes stored in the first memory area into actual image data, compressing the developed actual image data, and storing the compressed data.
By the way, in the conventional page printer, a single page is often divided into a plurality of virtual bands in order to minimize the size of the second memory area, and intermediate codes within each virtual band are sequentially subjected to a cyclic process using a plurality of physical bands on the second memory area. That is, an individual page is divided into, e.g., a plurality of virtual bands, each virtual band extending in a direction uniquely defined by the laser scanning operation performed by the engine of the printing mechanism; intermediate codes are generated on a virtual band basis; and the generated intermediate codes are sequentially stored in the first memory area. Then, the intermediate codes of each virtual band are developed into actual image data; the developed actual image data are stored in the second memory area; the actual image data being sequentially stored are sent to the printing mechanism in accordance with the capacity of the printing mechanism; and the sent data is printed. The number of bands is determined by the capacities of the first and second memory areas and the size of a page.
As described above, in the conventional page printer, a page is divided into a plurality of virtual bands extending in a single direction and intermediate codes are generated and stored for every virtual band. Therefore, unless the specified sheet direction correctly matches the sheet direction actually set in a sheet feed tray, an error message is displayed on a printer panel or the like and the operator is prompted to either change the sheet arranging direction or select a correct sheet feed tray. This is because it is easier to change the sheet arranging direction than change the image forming direction since intermediate code regeneration entails greater time and memory capacity.
However, this technique requires the operator to take the action of changing the sheet feed tray or sheet arranging direction, which in turn impairs operability. This problem is commonly encountered by apparatuses that form an image by generating intermediate codes for a predetermined size such as page printers, and an improvement has been called for.